Traffic Flow Model to Provide Traffic Flow Information

ABSTRACT

Examples of maintaining or querying a traffic database to generate a traffic flow model to provide traffic flow information and determine a per-lane route for a vehicle to travel are disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation under 35 U.S.C. § 120 of U.S.patent application Ser. No. 14/457,298, filed on Aug. 12, 2014, which isa continuation under 35 U.S.C. § 120 of U.S. patent application Ser. No.12/400,631, filed on Mar. 9, 2009, now U.S. Pat. No. 8,838,370. Allthese patent documents are incorporated by reference in their entirety.

BACKGROUND

Unless otherwise indicated herein, the approaches described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section. Traffic flowinformation may be used to predict travel times along variousprospective or potential vehicle routes. The traffic flow informationmay be incorporated into a route recommendation algorithm of a GlobalPositioning System (GPS) based navigation and mapping system torecommend a route for a vehicle to travel. Traffic flow information, forexample, can be gathered from various sources such as in-road speedsensors, cameras, and other types of fixed measurement devices orreported from individual vehicles as they travel. The accuracy ofpredicted travel times may be an important factor for vehicles todetermine which route to travel.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other features of this disclosure will become morefully apparent from the following description and appended claims, takenin conjunction with the accompanying drawings. Understanding that thesedrawings depict only several embodiments in accordance with thedisclosure and are, therefore, not to be considered limiting of itsscope, the disclosure will be described with additional specificity anddetail through use of the accompanying drawings.

FIG. 1 illustrates a block diagram of an example of a traffic flowinformation system;

FIG. 2 illustrates a block diagram of an example traffic databasemanager architecture;

FIG. 3 illustrates an example block diagram of a query managerarchitecture;

FIG. 4 illustrates an example block diagram of a per-lane route managerarchitecture;

FIG. 5 illustrates an example query format for a query to a trafficdatabase;

FIG. 6 illustrates a table to depict example traffic lanecharacteristics maintained in a traffic database;

FIG. 7A illustrates an example traffic flow model;

FIG. 7B illustrates a portion of an example program code to generate thetraffic flow model;

FIG. 7C illustrates another portion of the example program code togenerate the traffic flow model;

FIG. 8 illustrates a flow chart of an example method to provide trafficflow information to determine a per-lane route for a vehicle to travel;

FIG. 9 illustrates a block diagram illustrating additional aspects ofthe example traffic flow information system;

FIG. 10 illustrates another block diagram illustrating additionalaspects of the example traffic flow information system;

FIG. 11 illustrates a block diagram of an example computer programproduct; and

FIG. 12 illustrates an example computing device, all arranged inaccordance with the present disclosure.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof. In the drawings,similar symbols typically identify similar components, unless contextdictates otherwise. The illustrative examples or embodiments describedin the detailed description, drawings, and claims are not meant to belimiting. Other examples or embodiments may be utilized, and otherchanges may be made, without departing from the spirit or scope of thesubject matter presented here. It will be readily understood thataspects of this disclosure, as generally described herein, andillustrated in the Figures, can be arranged, substituted, combined, anddesigned in a wide variety of different configurations, all of which areexplicitly contemplated and make part of this disclosure.

This disclosure is drawn, inter alia, to methods, apparatus, systems andcomputer program products related to maintaining and/or querying atraffic database to generate a traffic flow model. The traffic flowmodel, for example, may provide traffic flow information. The trafficflow information, for example, may be used to determine a per-lane routefor a vehicle to travel.

As contemplated by the present disclosure, the accuracy of predictedtravel times may be an important factor for vehicles to determine whichroute to travel. However, gathered traffic flow information shouldaccount for traffic lane characteristics associated with modern highwaysand urban traffic grids. For example, an interstate highway with a roadsegment passing through and near a large city such as Los Angeles mayinclude a high occupancy vehicle (HOV) traffic lane. An HOV traffic lanemay be reserved for vehicles with a driver and one or more passengers,buses, motorcycles or low-emission vehicles. The HOV traffic lane andother traffic lanes of this road segment may also restrict trucks withor without trailers from using these lanes. The restrictions may be allday or limited to peak traffic hours. Meanwhile, the far-right lanes ofthe road segment may be open to all types of vehicles.

In another example, other road segments associated with roadways passingin and through an urban area may have characteristics that changethroughout a business day or on a weekend. A wait at a typical trafficlight in morning rush hour traffic may be a few minutes, but the timeneeded to make a left hand turn may be several times longer. A trafficflow model that provides traffic flow information should possiblyaccount for the examples mentioned above to predict accurate traveltimes along various prospective or potential vehicle routes. In someexamples, as described below, a prospective or potential vehicle routemay include a per-lane route.

In some examples, a query is placed to a traffic database. The query mayinclude providing information to include an indication of a startlocation and an end location for a vehicle to travel and also mayinclude an indication of a vehicle type (e.g., car, truck, bus,motorcycle, etc.). In these examples, the traffic database includestraffic lane characteristics associated with a route between the startlocation and the end location indicated in the query. A traffic flowmodel that is based on the query information and the traffic lanecharacteristics may then be generated to provide traffic flowinformation for the route between the start location and the endlocation. This traffic flow information may be used to determine aper-lane route for the vehicle to travel. The per-lane route, forexample, includes a path through one or more road segments

FIG. 1 illustrates a block diagram of an example traffic flowinformation system 100. In some examples, as depicted in FIG. 1, system100 includes traffic database server 110, fixed source(s) 120, periodicsource(s) 130, query source(s) 140 and communication link(s) 150. Alsoshown in FIG. 1, is a traffic database 112. Traffic database 112, forexample, is located with or resident on traffic database server 110. Asdescribed more below, logic located with or resident on traffic databaseserver 110 may maintain traffic database 112. Traffic database 112 mayinclude traffic lane characteristics for one or more road segmentslocated within a geographical location or a map area. The logic may alsorespond to queries received from a query source (e.g., query source(s)140). The response may include providing traffic lane characteristicsassociated with the received query.

In some examples, traffic database server 110 is coupled to otherelements of system 100 via communication link(s) 150. Communicationlink(s) 150, for example, may include one or more types of communicationlinks to communicatively couple elements of system 100. These types ofcommunication links may include wired or wireless communication mediumsthat couple to a network. The network may include, but is not limitedto, a wired or wireless local area network (LAN/WLAN), a wide areanetwork (WAN/WWAN), a metropolitan area network (MAN), a personal areanetwork (PAN), a cellular or wireless broadband telephony network and asatellite network.

In some examples, fixed source(s) 120 provides (e.g., via communicationlink(s) 150) substantially fixed information to traffic database server110. This substantially fixed information, for example, is added to orupdates traffic characteristics maintained in traffic database 112.Substantially fixed information may change infrequently, e.g., weekly,monthly or yearly.

In some examples, substantially fixed information may include a numberof traffic lanes for a given direction of movement or traffic lanerestriction information for respective traffic lanes. Restrictioninformation may include, but is not limited to, HOV, weight limits,height limits, noise limits, speed limits, seasonal restrictions (e.g.,tire-traction or chains required, four-wheel drive, winter closure,etc.), and hazardous cargo prohibitions. Substantially fixed informationmay also include, times a restriction is enforced, type of road surface(paved, gravel, dirt, unimproved, etc.), road classification(interstate, state highway, expressway, collector, arterial,residential, etc.) or typical congestion times (e.g., rush hour or daysbefore/after holidays), incoming/outgoing transition points, althoughthis disclosure is not limited to only the above listed types ofsubstantially fixed information.

In some examples, fixed source(s) 120 may include federal, state andlocal government agencies. Federal/state transportation laws or statutesas well as local ordinances, for example, may also be included in fixedsource(s) 120. Additionally, fixed source(s) 120 may include privatesources such as mapping or navigation services that maintain navigabledigital map databases or other types of map databases.

In some examples, periodic source(s) 130 provides (e.g., viacommunication link(s) 150) periodically updated information to trafficdatabase 110. This periodically updated information may be added to ormay update traffic characteristics maintained in traffic database 112.Periodically updated information may change frequently (e.g., real-timeor near real-time, by-the-minute, hourly or daily) and may include roadsensor data (e.g., speed sensors), accident/construction reports andtraffic flow data reported from individual vehicles as they travel on orhave recently traveled through a road segment, although this disclosureis not limited to only the above listed types of periodically updatedinformation.

Periodic source(s) 130 may include federal, state and local governmentagencies that gather real-time or near real-time data using, forexample, road sensors, traffic cameras, construction/accident reportsand traffic flow reporting from public service vehicles. Periodicsource(s) 130 may also include private or proprietary services. Theseprivate services may manage traffic reporting networks that gatherreal-time or near real-time traffic flow data. The real-time data, forexample, includes reports from vehicles over the traffic-reportingnetwork or via other types of networks.

In some examples, query source(s) 140 represents the source of queriesmade to traffic database server 110 (e.g., via communication link(s)150). Query source(s) 140, for example, may seek traffic lanecharacteristics and/or traffic flow information between a start locationand an end location for a vehicle to travel. Query source(s) 140 couldbe the vehicle's navigation system, a central dispatcher for the vehicleor a provider of a navigation service to the vehicle, although thedisclosure is not limited to only these examples.

In some examples, as described more below, logic located with orresident at query source(s) 140 may place a query to traffic database112. The query, for example, to include a vehicle's characteristics andinclude information to indicate a start location and an end location forthe vehicle to travel. The query may also include an indication of avehicle type (e.g., car, truck, bus, motorcycle, etc.) and possiblyother vehicle characteristic information. In these examples, a trafficflow model may be generated based on traffic lane characteristicsassociated with a route between the start location and the end locationand the information included in the query (query information). Thetraffic flow model, as described more below, may be generated by logiclocated with or resident at query source(s) 140 or located with orresident at traffic database server 110. The generated traffic flowmodel, for example, may then be used to provide traffic flow informationfor the route between the start location and the end location.

In some examples, logic located with or resident at query source(s) 140determines a per-lane route that may include a path through one or moreroad segments for the vehicle to travel. In these examples, the per-laneroute may be determined in response to receiving or obtaining thetraffic flow information for the route between the start location andthe end location. The per-lane route for the vehicle to travel may thenbe presented to an occupant of the vehicle, e.g., displayed on avehicle's navigation display or provided verbally on a turn-by-turnbasis.

FIG. 2 illustrates a block diagram of an example traffic databasemanager 200 architecture. In FIG. 2, traffic database manager 200'sexample architecture includes traffic database logic 210, control logic220, memory 230, input/output (I/O) interfaces 240 and optionally one ormore applications 250. As illustrated in FIG. 2, traffic database logic210 is coupled to control logic 220, memory 230 and I/O interfaces 240.Also illustrated in FIG. 2, the optional applications 250 are arrangedin cooperation with control logic 220. Traffic database logic 210 mayfurther include one or more of a fixed feature 212, a periodic feature214, a query feature 216 and a traffic-flow module feature 218, or anyreasonable combination thereof.

In some examples, the elements portrayed in FIG. 2's block diagram arethose elements to support or enable traffic database manager 200 asdescribed in this disclosure, although a given traffic database managermay include some, all or more elements than those depicted in FIG. 2.For example, traffic database logic 210 and control logic 220 may eachor collectively represent a wide variety of logic device(s) to implementthe features of traffic database manager 200. A logic device, forexample, may include a computer, a microprocessor, a microcontroller, afield programmable gate array (FPGA), an application specific integratedcircuit (ASIC), a sequestered thread or a core of amulti-core/multi-threaded microprocessor or a combination thereof.

In some examples, as shown in FIG. 2, traffic database logic 210includes fixed feature 212, periodic feature 214, query feature 216 andtraffic flow model feature 218. Traffic database logic 210 may beconfigured to use one or more of these features to perform severaloperations. Example operations may include one or more of maintainingtraffic database 112 by receiving or obtaining substantially fixed andperiodically updated information or responding to a query received froma query source (e.g., query source(s) 140). The operations may alsoinclude generating a traffic flow model to provide traffic flowinformation based on information obtained from traffic database 112and/or query information received from the query source.

In some examples, control logic 220 may be configured to control theoverall operation of traffic database manager 200. As mentioned above,control logic 220 may represent any of a wide variety of logic device(s)configured to operate in conjunction with executable content orinstructions to implement the control of traffic database manager 200.In alternate examples, the features and functionality of control logic220 may be implemented within traffic database logic 210.

According to some examples, memory 230 is arranged to store executablecontent or instructions. The executable content or instructions may beused by control logic 220 and/or traffic database logic 210 to implementor activate features or elements of traffic database manager 200. Memory230 may also temporarily maintain traffic lane characteristics obtainedby traffic database logic 210's features in response to a query totraffic database 112. Memory 230 may also temporarily maintain queryinformation and the traffic lane characteristics to generate a trafficflow model to provide traffic flow information to the source of thequery (e.g., query source(s) 140).

Memory 230, for example, may include a wide variety of memory mediaincluding, but not limited to, volatile memory, non-volatile memory,flash, programmable variables or states, random access memory (RAM),read-only memory (ROM), or other static or dynamic storage media.

In some examples, I/O interfaces 240 may provide an interface via aninternal communication medium or link (not shown) between trafficdatabase manager 200 and elements resident on or located with trafficdatabase server 110. I/O interfaces 240, for example, include interfacesthat may operate according to various communication protocols tocommunicate over the internal communication link (e.g., Inter-IntegratedCircuit (I²C), System Management Bus (SMBus) or Serial PeripheralInterface Bus (SPI), etc.). I/O interfaces 240 may also provide aninterface between traffic database manager 200 and elements remote totraffic database server 110. As mentioned above for FIG. 1, trafficdatabase server 110 may couple to elements of system 100 viacommunication link(s) 150. I/O interfaces 240, for example, include aninterface that operates according to various communication protocols toallow traffic database manager 200 to communicate over communicationlink(s) 150 (e.g., Code Division Multiple Access 2000 (CDMA2000), GlobalSystem for Mobile Communications (GSM), Ethernet, Asynchronous TransferMode (ATM), Synchronous Optical Networking (SONET), etc.).

In some examples, traffic database manager 200 includes one or moreapplications 250 to provide instructions to control logic 220 and/ortraffic database logic 210.

FIG. 3 illustrates an example block diagram of a query manager 300architecture. In FIG. 3, query manager 300's example architectureincludes query logic 310, control logic 320, memory 330, input/output(I/O) interfaces 340 and optionally one or more applications 350. Asillustrated in FIG. 3, query logic 310 is coupled to control logic 320,memory 330 and I/O interfaces 340. Also illustrated in FIG. 3, theoptional applications 350 are arranged in cooperation with control logic320. Query logic 310 may further include a characteristic feature 312,location feature 314 and traffic-flow module feature 316.

In some examples, the elements portrayed in FIG. 3's block diagram arethose elements to support or enable query manager 300 as described inthis disclosure, although a given query manager may include some, all ormore elements than those depicted in FIG. 3. For example, query logic310 and control logic 320 may each or collectively represent a widevariety of logic device(s) to implement the features of query manager300. As mentioned previously, a logic device, for example, may include acomputer, a microprocessor, a microcontroller, an FPGA, an ASIC, asequestered thread or a core of a multi-core/multi-threadedmicroprocessor or a combination thereof.

In some examples, as shown in FIG. 3, query logic 310 includescharacteristic feature 312, location feature 314 and traffic flow modelfeature 316. Query logic 310 may be configured to use these features toperform several operations. Example operations may include placing aquery to a traffic database (e.g., traffic database 112), the query toinclude information to indicate a start and an end location for avehicle to travel and to also indicate one or more characteristics ofthe vehicle. The operations may also include generating a traffic flowmodel to provide traffic flow information to the vehicle. The trafficflow model, for example, is based on traffic lane characteristicsobtained from the traffic database and the query information.

In one example, control logic 320 may control the overall operation ofquery manager 300 and as mentioned above, may represent any of a widevariety of logic device(s) configured to operate in conjunction withexecutable content or instructions to implement the control of querymanager 300. In alternate examples, the features and functionality ofcontrol logic 320 may be implemented within query logic 310.

Similar to memory 230, described above, memory 330 may include a widevariety of memory media. According to some examples, memory 330 isarranged to store executable content or instructions. The executablecontent or instructions may be used by control logic 320 and/or querylogic 310 to implement or activate features or elements of query manager300. Memory 330 may also temporarily maintain traffic lanecharacteristics obtained or received by query logic 310's features inresponse to a query to a traffic database. Memory 330 may also bearranged to temporarily maintain the query information and the trafficlane characteristics to enable query logic 310's features to generate atraffic flow model. The traffic flow model, for example, may be at leasttemporarily maintained in memory 330 in order to provide traffic flowinformation for a determination of a per-lane route for a vehicle totravel.

Similar to I/O interfaces 240, described above, I/O interfaces 340 mayprovide an interface via an internal communication medium or link (notshown) between query manager 300 and elements resident on or locatedwith query source(s) 140. I/O interfaces 340 may also provide aninterface between query manager 300 and elements remote to querysource(s) 140.

In some examples, query manager 300 includes one or more applications350 to provide instructions to control logic 320 and/or query logic 310.

FIG. 4 illustrates an example block diagram of a per-lane route manager400 architecture. In FIG. 4, per-lane route manager 400's examplearchitecture includes route logic 410, control logic 420, memory 430,input/output (I/O) interfaces 440 and optionally one or moreapplications 450. As illustrated in FIG. 4, route logic 410 is coupledto control logic 420, memory 430 and I/O interfaces 440. Alsoillustrated in FIG. 4, the optional applications 450 are arranged incooperation with control logic 420. Route logic 410 may further includea determine feature 412 and a present feature 414.

In some examples, the elements portrayed in FIG. 4's block diagram arethose elements to support or enable per-lane route manager 400 asdescribed in this disclosure, although a given per-lane route managermay include some, all or more elements than those depicted in FIG. 4.For example, route logic 410 and control logic 420 may each orcollectively represent a wide variety of logic device(s) to implementthe features of per-lane route manager 400. A logic device, for example,may include a computer, a microprocessor, a microcontroller, an FPGA, anASIC, a sequestered thread or a core of a multi-core/multi-threadedmicroprocessor or a combination thereof.

In some examples, as shown in FIG. 4, route logic 410 includesdetermination feature 412 and present feature 414. In some examples,route logic 410 may be configured to use these features to performseveral operations. Example operations may include determining aper-lane route for a vehicle to travel in response to receiving orobtaining traffic flow information. The operations may also includeproviding or presenting the per-lane route for the vehicle to travel toan occupant of the vehicle.

In some examples, control logic 420 may control the overall operation ofroute manager 400 and as mentioned above, may represent any of a widevariety of logic device(s) configured to operate in conjunction withexecutable content or instructions to implement the control of routemanager 400. In alternate examples, the features and functionality ofcontrol logic 420 may be implemented within route logic 410.

Similar to memory 230, described above, memory 430 may include a widevariety of memory media. According to some examples, memory 430 isarranged to store executable content or instructions. The executablecontent or instructions may be used by control logic 420 and/or routelogic 410 to implement or activate features or elements of route manager400. Memory 430 may also temporarily maintain traffic flow informationfor a vehicle obtained by route logic 410's features in response toreceiving the traffic flow information, e.g., from query manager 300.Memory 430 may also temporarily maintain a per-lane route for thevehicle to travel in order to provide the per-lane route to an occupantof the vehicle.

Similar to I/O interfaces 240, described above, I/O interfaces 440 mayprovide an interface via an internal communication medium or link (notshown) between route manager 400 and elements resident on or locatedwith query source(s) 140. I/O interfaces 440 may also provide aninterface between route manager 400 and elements remote to querysource(s) 140.

In some examples, route manager 400 includes one or more applications450 to provide instructions to control logic 420 and/or route logic 410.

FIG. 5 illustrates an example query format 500 to depict how queryinformation may be conveyed in a query to a traffic database (e.g.,traffic database 112). In some examples, query format 500 includesfields 510, 520, 530, 540, 550 and 560. These fields, for example,include at least a portion of the query information for the query to thetraffic database. As described more below, a traffic flow model may begenerated based on the query information and traffic lanecharacteristics obtained from the traffic database. The traffic flowmodel may then be used to provide traffic flow information to the sourceof the query information.

Fields 510 and 520 may indicate start and end location information,respectively. The start location included in field 510 may indicate thestarting point for a vehicle to travel. This starting point, forexample, may indicate the location of the vehicle at or near the timethe query is made. Start location information, for example, includes,but is not limited to, geophysical location information obtained througha GPS receiver or other type of locating device. Start locationinformation may also include location information obtained from a map oran address book. The end location included in field 520 may indicate thefinal or desired destination of the vehicle. End location information,for example, includes, but is not limited to, map grid coordinates,street addresses, road intersections, points of interest, cities, towns,parks and neighborhoods.

In some examples, a query may not need an explicit start point in thequery to indicate a start location. Rather, the start location may beindicated in other ways. For example, logic maintained at or with atraffic database (e.g., traffic database logic 210) may be configured todetermine the start location associated with the query. Thisdetermination may be based on location characteristics associated withhow the query was conveyed to the traffic database via communicationlink(s) 150. For example, if communication link(s) 150 included awireless communication link and the source of the query was located ator with a vehicle, the network that enabled the wireless communicationto convey the query may also track the location of where the source ofthe query originated. The tracking information may then be added to thequery in indicate the start location. In other examples, the location ofthe query may be presumed close enough to the point of entry in thenetwork (e.g., a wireless access point) so that the location of theaccess point itself can serve as a default start location.

Field 530, for example, indicates a vehicle type. The vehicle typeincludes, but is not limited to, cars, trucks, buses or motorcycles.Field 540 may include information to indicate whether the vehiclecontains or will contain passengers. Field 550, for example, includesinformation to indicate capabilities of the vehicle. Capabilities mayinclude, but are not limited to, two-wheel drive, four-wheel drive,tire-traction capable, height clearance and turning radius. Field 560,for example, includes information to indicate applicable specialallowances. In some examples, special allowances may indicate that avehicle is a low emission vehicle (e.g., electric, hybrid, etc.) or analternative fuel vehicle (e.g., bio-fuels such as ethanol orbio-diesel). In other examples, special allowances may indicate that avehicle is transporting hazardous cargo such as explosives or toxicchemicals. Field 570 may include the time of the query or may indicatethe time the vehicle plans or anticipates traveling from the startlocation to the end location.

FIG. 6 illustrates a table 600 to depict example traffic lanecharacteristics maintained in a traffic database (e.g., traffic database112). In some examples, the contents of table 600 may be maintained bytraffic database manager 200 and may be used along with queryinformation to generate a traffic flow model in order to provide trafficflow information to the source of the query. In some examples, asdepicted in FIG. 6, traffic lane characteristics for northbound roadsegment 605 include fixed characteristics 610, 615, 620, 625, 630, 635,640 and include periodic characteristics 645, 650, 655, 660 and 665 foreach of three traffic lanes 605 a, 605 b and 605 c. Northbound roadsegment 605 may be an example of a portion of an expressway or highway.The outgoing transition point for northbound road segment 605 may be theend of the expressway or a portion of the expressway or highway thatenters an area with traffic lights and reduced speed limits.

Table 600 is provided as an example of possible contents of a trafficdatabase for a road segment. The number of lanes for the road segmentand associated fixed/periodic characteristics may include any number oflanes and/or associated fixed/periodic characteristics. Although notshown, a similar table may exist for a southbound road segment 605.Also, traffic lane characteristics for any number of road segments, forexample, can be maintained in the traffic database.

In some examples, fixed characteristics 610, 615, 620, 625, 630, 635 and640 may be based on substantially fixed information and as mentionedabove, may change infrequently. In some embodiments, as shown in FIG. 6,fixed characteristics 610, 615, 620, 625, 630, 635 and 645 includetraffic lane characteristics associated with traffic lanes 605 a-c.Fixed characteristic 610 may include lane position information. Fixedcharacteristic 615 and 620 may include lane restriction information.Fixed characteristic 625 may include congestion information. Congestioninformation, for example, may indicate possible or likely congestion atcertain times of the day based on historical traffic flow information.Congestion during typical rush hour times associated with morning andevening commutes is but one example of historical traffic flowinformation that may indicate congestion.

Fixed characteristic 630 may include traffic lane special allowances. Asdepicted in FIG. 6, the traffic lane special allowances may includeunrestricted HOV traffic lane times, allowed HOV lane use fornon-passenger, low emission vehicles and travel prohibition on all lanesfor vehicles transporting hazardous cargo or exceeding a given height(e.g., for a route segment through a tunnel), although this disclosureis not limited to only the above listed types of special allowances.

Fixed characteristics 635 may include information to indicate anincoming transition point of northbound road segment 605. The incomingtransition point may include a part of a northbound road segment 605that connects or couples to another road segment. For example, anon-ramp may be an incoming transition point to northbound road segment605. In this example, traffic lane 605 c (right lane) may be the onlytraffic lane that has this transition point if traffic enters northboundroad segment 605 via the right lane.

Fixed characteristics 640 may include information to indicate anoutgoing transition point of northbound road segment 605. The outgoingtransition point may include a part of a northbound road segment 605that connects or couples to another road segment. For example, anoutgoing transition point may be an intersection were northbound roadsegment 605 may connect or couple with one or more other road segments.The intersection may include a stop sign, traffic light, roundabout orother type of traffic control measure. Also, an outgoing transitionpoint may include a left-hand turn at an intersection. A left-hand turnmay only impact traffic lane 605 a (left lane) and the information infixed characteristics 640 may indicate that impact.

In some examples, periodic characteristics 645, 650, 655, 660 and 665may be based on periodically updated information and as mentioned above,may change frequently. As shown in FIG. 6, periodic characteristics 645,650, 655, 660 and 665 include traffic lane characteristics associatedwith traffic lanes 605 a-c. Period characteristic 645 may includeincoming transition point information. Incoming transition pointinformation may indicate the amount of time or delays in passing throughthe incoming transition point. As previously mentioned above, northboundroad segment 605 may be a highway or expressway, thus an incomingtransition point may include an on-ramp. Also, although a vehicle mayenter northbound road segment 605 via traffic lane 605 c, the vehiclemay have to cross traffic lane 605 c to enter traffic lanes 605 a and605 b. As a result of the vehicle needing to cross traffic lane 605 c,the same delay times may be reported for traffic lanes 605 a-c. Also,periodic characteristic 650 may include outgoing transition pointinformation. Outgoing transition point information may indicate theamount of time or delays in passing through the outgoing transitionpoint. As mentioned above, northbound road segment 605 has an outgoingtransition point that marks an end or a portion of an expressway or ahighway that enters an area with traffic lights and reduced speedlimits. Since the outgoing transition point indicates an area where theexpressway or highway passes through traffic lights, delays due totraffic light congestion or left hand turns may be indicated in periodiccharacteristic 650.

Periodic characteristic 655, for example, includes road sensor data orinformation. This road sensor data, for example, indicates real-time ornear real-time traffic speeds for a particular traffic lane. The roadsensor data may also include the average speeds of all or a portion ofthe lanes in a road segment. As shown in FIG. 6, periodic characteristic660, for example, includes information indicating traffic lane alertssuch as accidents, construction or stalled vehicles. Traffic lanealerts, in some embodiments, may indicate a possible impact on thetraffic flow through a traffic lane. Periodic characteristic 665, forexample, includes traffic flow data reported from vehicles that aretraveling on or have recently traveled through the road segment. Trafficflow data may include, but is not limited to, speeds of the reportingvehicles, wait times at stoplights and a general description of movement(e.g., stop and go, steady speeds, relatively free movement, etc.).

FIG. 7A illustrates an example traffic flow model 700. Traffic flowmodel 700, for example, was generated based on a vehicle'scharacteristics and traffic lane characteristics associated with aprospective route for the vehicle to travel. In the example depicted inFIG. 7A, the vehicle's characteristics were obtained from queryinformation conveyed in query format 500. As mentioned above, vehiclecharacteristics may indicate start and end locations for the vehicle totravel and may also indicate other vehicle characteristics such asvehicle type. The locations indicated in the query information, forexample, may encompass a route that includes all or a portion ofnorthbound road segment 605. Thus, in this example, the traffic lanecharacteristics associated with at least a portion of the prospectiveroute may be included with the traffic lane characteristics maintainedin a traffic database (see FIG. 6). Also, in this example, the queryinformation indicated a car vehicle type with no passengers, no lowemissions and a query time that falls within an HOV restriction time.

FIG. 7B and FIG. 7C illustrate an example program code 710 to generatetraffic flow model 700. In some examples, traffic flow model 700 wasgenerated using a traffic flow algorithm depicted as program code 710 inFIGS. 7B and 7C, although this disclosure is not limited to this exampleprogram code 710. Inputs, for example to the traffic flow algorithm thatgenerated traffic flow model 700 were based on at least a portion of thetraffic lane characteristics of traffic lanes 605 a-c and on at least aportion of the query information conveyed in query format 500.

In some examples, logic, in either traffic database manager 200 or querymanager 300 may implement or execute program code 710 for each of thethree traffic lanes of road segment 605 to generate traffic flow model700. As shown in FIG. 7A, traffic flow information for traffic lanes 605a-c may be provided. For example, traffic flow model 700 indicates thattraffic lane 605 a is restricted for travel by the vehicle associatedwith the query and that traffic lanes 605 b and 605 c are not restrictedto the vehicle. Traffic flow model 700 also includes a traffic lanealert for traffic lane 605 c. The traffic lane alert may indicate anaccident, construction or a stalled vehicle in traffic lane 605 c.

Traffic flow model 700 may further indicate incoming transition pointdelay times that are the same for traffic lanes 605 a-c. As previouslymentioned above for FIG. 6, the incoming transition point delay may bebased on delay times to enter traffic lane 605 c via an on-ramp. Also,as mentioned above, since the outgoing transition point for road segment605 marks the end of higher speed limits and no traffic lights, trafficflow model 700 indicates separate outgoing transition point delay timesfor traffic lanes 605 a-c. The separate outgoing transition point delaysmay indicate traffic light delays and/or left hand turn delays. Trafficflow model 700 may also include a separate indication of an estimatedtravel time for traffic lanes 605 a-c. In some examples, logic, ineither traffic database manager 200 or query manager 300 may beconfigured to determine an estimated travel time for a traffic lanebased on speed sensor data, reports from vehicles and incoming/outgoingtransition point delay times.

In some examples, traffic flow information in traffic flow model 700 maybe used or provided to facilitate a determination of which traffic lanesin road segment 605 (if any) will be at least a part of a path includedin a per-lane route for the vehicle to travel. As mentioned above,traffic flow model 700, for example, indicates that traffic lane 605 ais restricted, traffic lane 605 c has a traffic lane alert and theestimated travel time for traffic lane 605 b is smaller than for trafficlane 605 c. Thus, given the traffic flow information provided by trafficflow model 700, a determination that traffic lane 605 b may be the bestor fastest route through road segment 605 is likely or probable.

In some examples, a traffic flow model may be provided that includesinformation pertaining to traffic lanes for which a vehicle is eligibleto travel. For example, since the vehicle type for the query that leadto the generation of traffic flow model 700 included no passengers, thevehicle is not eligible or restricted from traveling on traffic lane 605a. In this example, logic, in either traffic database manager 200 orquery manager 300 may implement program code 710, but will excludeinformation related to traffic lane 605 a from a generated traffic flowmodel.

In some examples, traffic flow model 700 may be combined with othertraffic flow models for one or more other road segments to providetraffic flow information to the vehicle associated with the query. Theother traffic flow models, for example, may be generated in a similarmanner to how traffic flow model 700 was generated. This traffic flowinformation, for example, may also facilitate a determination of a pathincluded in a per-lane route for the vehicle to travel. The path, forexample, could result in the vehicle changing traffic lanes as thevehicle enters or exits locations encompassed within the other roadsegments.

FIG. 8 illustrates a flow chart of an example method to provide trafficflow information to determine a per-lane route for a vehicle to travel.In some examples, system 100, as described in FIG. 1, is used todescribe this method, although this method is not limited to only animplementation on system 100. The method, for example, may beimplemented on other systems that may include at least a portion of theelements of system 100.

Processing begins in block 810 (Query), where a query from querysource(s) 140 is made to traffic database 112 maintained at trafficdatabase server 110. This query, in some embodiments, may be in the formof query format 500 and may be provided by query manager 300 viacommunication link(s) 150. As mentioned above, query format 500 includesquery information that may indicate characteristics for a vehicle. Thesevehicle characteristics, for example, may indicate a start location andan end location for the vehicle to travel as well as a vehicle type.

Processing continues from block 810 to block 820 (Obtain TrafficCharacteristics), where traffic database manager 200 receives the queryand obtains traffic lane characteristics associated with a route betweenthe start location and the end location indicated in the queryinformation. In some examples, the route includes route segment 605 asdescribed for FIG. 6. Thus, in this example, the traffic lanecharacteristics depicted in FIG. 6 may be obtained from traffic database112.

Continuing from block 820 to block 830 (Generate Traffic Flow Model),the process may generate a traffic flow model. The traffic flow modelmay be based on the traffic lane characteristics obtained by elements oftraffic database manager 200 (e.g., traffic database logic 210). In someembodiments, the traffic flow model may be generated by elements oftraffic database manager 200 (e.g., traffic database logic 210). Inother embodiments, elements of query manager 300 (e.g., query logic 310)generate the traffic flow model. One or more traffic flow algorithms maybe implemented to generate a traffic flow model for traffic lanes 605a-c. The one or more traffic flow algorithms may be similar to thetraffic flow algorithm described above for program code 710.

Proceeding from block 830 to block 840 (Provide Traffic FlowInformation), where traffic flow information for the vehicle based onthe traffic flow model may be provided to the source of the query. Thetraffic flow information may indicate traffic flow information for eachof traffic lanes 605 a-c. Alternatively, the traffic flow informationmay include information for unrestricted traffic lanes for which thevehicle is eligible to travel. Thus, in this alternative, informationfor restricted traffic lane(s) is not provided.

Continuing from block 840 to block 850 (Determine Per-lane Route), theprocess determines a per-lane route for the vehicle to travel. Thedetermination, for example, may be in response to receiving the trafficflow information. The traffic flow information, for example, facilitatesa determination of which traffic lane or traffic lane path provides thebest per-lane route (e.g., has the fastest prospective travel time)between the start location and the end location. In some embodiments,elements of per-lane route manager 400 (e.g., route logic 410) maydetermine the best per-lane route.

Proceeding from block 850 to block 860 (Present Per-lane Route), theprocess may present (e.g., via an audio or visual output) the determinedper-lane route to an occupant (e.g., the driver) of the vehicle. In someembodiments, per-lane route manager 400 may be located at a querysource(s) 140 that is remote to the vehicle. A per-lane route manager400 located remotely may present the per-lane route to an occupant ofthe vehicle over a wired or wireless communication medium coupled to anetwork that includes, but is not limited to, a LAN, WLAN, WAN, WWAN,MAN, PAN, a cellular or wireless broadband telephony network and asatellite network. Remote presentation may include turn-by-turn voiceguidance or may include transmitting the per-lane route for eventualdisplay by a display system (e.g., a navigation system, a wirelessphone, a handheld computer, a portable computer, etc.) located at, withor in the vehicle.

In other embodiments, per-lane route manager 400 may be located at aquery source(s) 140 located at, with or in the vehicle. Presentation, inthis other example, may also include turn-by-turn voice guidance orproviding the per-lane route for eventual display by a display system.

In some examples, another query may be initiated due to events occurringwhile the vehicle is traveling the per-lane route (e.g., an accident,stalled vehicle or unexpected congestion). In these examples, theprocess returns to block 810 and a new per-lane route including a paththrough a different road segment and/or traffic lane may be determinedand presented to an occupant of the vehicle.

FIG. 9 illustrates a block diagram illustrating additional aspects ofthe example traffic flow information system 100 depicted in FIG. 1 anddescribed above. As shown in FIG. 9, in some embodiments, query source140 a and query source 140 b provide examples of at least two types ofquery sources that may place a query to a traffic database such astraffic database 112.

In some examples, as shown in FIG. 9, traffic database manager 200 andtable 600 may be located with or resident on traffic database server110. As mentioned previously, traffic database manager 200 may includelogic (e.g. traffic database logic 210 and/or control logic 220) tomaintain traffic database 112. Traffic database 112 may include table600 and as described above for FIG. 6, table 600 may include trafficlane characteristics for a road segment 605. The traffic lanecharacteristics for road segment 605 may be based on substantially fixedand periodically updated information.

In some examples, traffic database manager 200, in response to receivinga query to traffic database 112 (e.g., from query source 140 a or 140b), may provide traffic lane characteristics associated with the query.The provided traffic lane characteristics may include thecharacteristics depicted in table 600 and may enable the generation of atraffic flow model (e.g., traffic flow model 700). The traffic flowmodel may provide traffic flow information to the source of the query.

In some examples, as shown in FIG. 9, query source 140 a includes anavigation system 905 with a query manager 300 and a per-lane routemanager 400. Also shown in FIG. 9, is an example where query source 140b includes provider 910. Provider 910 may also have a query manager 300and a per-lane route manager 400. Navigation system 905, in someembodiments, may be located at, with or in a vehicle for which a queryis being placed. Provider 910, in some embodiments, may be locatedremotely to a vehicle for which a query is being placed (e.g. a providerof a navigation service).

In some examples, query manager 300 includes logic (e.g. query logic 310and/or control logic 320) to place a query to a traffic database (e.g.,traffic database 112). The query may include information to indicate astart location and an end location for a vehicle to travel. The querymay also include an indication of a vehicle type. As mentioned above,the traffic database may include traffic lane characteristics associatedwith a route between the start location and the end location (e.g.,table 600). A traffic flow model (e.g., traffic flow model 700) may begenerated based on the query and the traffic lane characteristics. Thetraffic flow model may provide traffic flow information for the routebetween the start location and the end location.

Per-lane route manager 400, in some embodiments, may include logic(e.g., route logic 410 and/or control logic 420). Responsive toreceiving the traffic flow information, per-lane route manager 400'slogic may be configured to determine a per-lane route including a pathfor the vehicle to travel and may present or provide an indication ofthe per-lane route to an occupant of the vehicle.

In some embodiments, per-lane route manager 400 may be located with thevehicle resident in navigation system 905. In these embodiments,per-lane route manager 400 may be configured to present the per-laneroute to the occupant through navigation system 905. Presentation mayinclude turn-by-turn voice guidance and/or providing an indication ofthe per-lane route for eventual display to the occupant.

In other embodiments, per-lane route manager 400 may be located remotelyto the vehicle in provider 910. In these other embodiments, per-laneroute manager 400 may be configured to remotely present the per-laneroute to the occupant through provider 910 via a wired or wirelesscommunication medium coupled to a network. Remote presentation mayinclude transmitting turn-by-turn voice guidance or may includetransmitting data associated with the per-lane route for eventualdisplay of the per-lane route by a display system located at, with or inthe vehicle.

FIG. 10 illustrates another block diagram illustrating additionalaspects of the example traffic flow information system 100. System 100as shown in FIG. 10, for example, provides more detail of querysource(s) 140. In some examples, query source(s) 140 includes a provider1005 and a navigation system 1010. Provider 1005 may be located remotelyto a vehicle for which a query is being placed (e.g. a provider of anavigation service). Navigation system 1010, may be located at, with orin a vehicle for which a query is being placed. Provider 1005 andnavigation system 1010 may be either one query source or can be twoseparate query sources.

In some embodiments, provider 1005 includes a query manager 300 and mayalso include a per-lane route manager 400. Navigation system 1010 mayinclude a per-lane route manager 400 and may also include a querymanager 300. As depicted in FIG. 10, the dotted-box around per-laneroute manager 400 in provider 1005 and around query manager 300 innavigation system 1010 may indicate that query manager 300 and per-laneroute manager 400 may be co-located either with provider 1005 or withnavigation system 1010. The dotted-box may also indicate that querymanager 300 can be located with provider 1005 and per-lane route manager400 can be located with navigation system 1010. Thus, for example, logicincluded in query manager 300 configured to place a query, and logicincluded in per-lane route manger 400 configured to determine a per-laneroute and present the per-lane route may be located with provider 1005,navigation system 1010 or a combination thereof.

FIG. 11 illustrates a block diagram of an example computer programproduct 1100. In some embodiments, as shown in FIG. 11, computer programproduct 1100 includes a signal bearing medium 1102 that may also includeinstructions 1104. In some examples, instructions 1104, which whenexecuted by a computer, cause the computer to query a traffic database.The query may include providing information to include an indication ofa start location and an end location for a vehicle to travel and anindication of a vehicle type. The traffic database may include trafficlane characteristics associated with a route between the start locationand the end location. Traffic flow information may then be received fromthe traffic database. The traffic flow information may have beengenerated by the traffic database responsive to the database query usinga traffic flow model, and the traffic lane characteristics to providetraffic flow information for the route between the start location andthe end location. Instructions 1104 may further cause the computer todetermine a per-lane route for the vehicle to travel in response toreceiving the traffic flow information. Instruction 1104 may also causethe computer to present the per-lane route for the vehicle to travel toan occupant of the vehicle.

Also depicted in FIG. 11, in some embodiments, are computer readablemedium 1106, recordable medium 1108 and communications medium 1110. Thedotted boxes around these elements may depict different types of mediumsincluded within, but not limited to, signal bearing medium 1102. Thesetypes of mediums may distribute instruction 1104 to be executed by acomputer. Computer readable medium 1106 and recordable medium 1108, forexample, may include, but are not limited to, a flexible disk, a harddisk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digitaltape, a computer memory, etc. Communications medium 1110, for example,may include, but is not limited to, a digital and/or an analogcommunication medium (e.g., a fiber optic cable, a waveguide, a wiredcommunication link, a wireless communication link, etc.).

FIG. 12 is a block diagram illustrating an example computing device1200. In some examples, traffic database manager 200, query manager 300and/or per-lane route manager 400 depicted in FIGS. 2-4 may beimplemented on computing device 1200. In these examples, elements ofcomputing device 1200 may be arranged or configured to maintain and/orquery a traffic database, generate a traffic flow model, provide trafficflow information, determine a per-lane and/or provide the per-lane routefor a vehicle to travel. In a very basic configuration 1201, computingdevice 1200 typically includes one or more processors 1210 and systemmemory 1220. A memory bus 1230 can be used for communicating between theprocessor 1210 and the system memory 1220.

Depending on the desired configuration, processor 1210 can be of anytype including but not limited to a microprocessor (μP), amicrocontroller (μC), a digital signal processor (DSP), or anycombination thereof. Processor 1210 can include one more levels ofcaching, such as a level one cache 1211 and a level two cache 1212, aprocessor core 1213, and registers 1214. The processor core 1213 caninclude an arithmetic logic unit (ALU), a floating point unit (FPU), adigital signal processing core (DSP Core), or any combination thereof. Amemory controller 1215 can also be used with the processor 1210, or insome implementations the memory controller 1215 can be an internal partof the processor 1210.

Depending on the desired configuration, the system memory 1220 can be ofany type including but not limited to volatile memory (such as RAM),non-volatile memory (such as ROM, flash memory, etc.) or any combinationthereof. System memory 1220 typically includes an operating system 1221,one or more applications 1222, and program data 1224. Application 1222includes instructions 1223 that are arranged to perform the functions asdescribed herein including the actions described with respect to trafficdatabase manager 200, query manager 300 or per-lane route manager 400architectures shown in FIGS. 2-4 or including the actions described withrespect to the flow charts shown in FIG. 8. Program Data 1224 includestraffic information data 1225 that is useful for implementing per-laneroute instructions 1223 (e.g., query information, traffic lanecharacteristics, etc.). In some examples, application 1222 can bearranged to operate with program data 1224 on an operating system 1221such that implementations of maintaining and/or querying a trafficdatabase, generating a traffic flow model, providing traffic flowinformation, determining a per-lane and providing the per-lane route fora vehicle to travel may be provided as described herein. This describedbasic configuration is illustrated in FIG. 12 by those components withindashed line 1201.

Computing device 1200 can have additional features or functionality, andadditional interfaces to facilitate communications between the basicconfiguration 1201 and any required devices and interfaces. For example,a bus/interface controller 1240 can be used to facilitate communicationsbetween the basic configuration 1201 and one or more data storagedevices 1250 via a storage interface bus 1241. The data storage devices1250 can be removable storage devices 1251, non-removable storagedevices 1252, or a combination thereof. Examples of removable storageand non-removable storage devices include magnetic disk devices such asflexible disk drives and hard-disk drives (HDD), optical disk drivessuch as compact disk (CD) drives or digital versatile disk (DVD) drives,solid state drives (SSD), and tape drives to name a few. Examplecomputer storage media can include volatile and nonvolatile, removableand non-removable media implemented in any method or technology forstorage of information, such as computer readable instructions, datastructures, program modules, or other data.

System memory 1220, removable storage 1251 and non-removable storage1252 are all examples of computer storage media. Computer storage mediaincludes, but is not limited to, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bycomputing device 1200. Any such computer storage media can be part ofdevice 1200.

Computing device 1200 can also include an interface bus 1242 forfacilitating communication from various interface devices (e.g., outputinterfaces, peripheral interfaces, and communication interfaces) to thebasic configuration 1201 via the bus/interface controller 1240. Exampleoutput interfaces 1260 include a graphics processing unit 1261 and anaudio processing unit 1262, which can be configured to communicate tovarious external devices such as a display or speakers via one or moreA/V ports 1263. Example peripheral interfaces 1260 include a serialinterface controller 1271 or a parallel interface controller 1272, whichcan be configured to communicate with external devices such as inputdevices (e.g., keyboard, mouse, pen, voice input device, touch inputdevice, etc.) or other peripheral devices (e.g., printer, scanner, etc.)via one or more I/O ports 1273. An example communication interface 1280includes a network controller 1281, which can be arranged to facilitatecommunications with one or more other computing devices 1290 over anetwork communication via one or more communication ports 1282. Anetwork communication connection is one example of a communicationmedia. Communication media may typically be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and includes any information delivery media. A “modulateddata signal” can be a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media can includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), infrared (IR) andother wireless media. The term computer readable media as used hereincan include both storage media and communication media.

Computing device 1200 can be implemented as a portion of a small-formfactor portable (or mobile) electronic device such as a cell phone,smart phone, a personal data assistant (PDA), a personal media playerdevice, a wireless web-watch device, a personal headset device, anapplication specific device, or a hybrid device that include any of theabove functions. Computing device 1200 can also be implemented as apersonal computer including both laptop computer and non-laptop computerconfigurations or implemented in a workstation or a serverconfiguration.

References made in this disclosure to the term “responsive to” or “inresponse to” are not limited to responsiveness to only a particularfeature and/or structure. A feature may also be responsive to anotherfeature and/or structure and also be located within that feature and/orstructure. Moreover, when terms or phrases such as “coupled” or“responsive” or “in response to” or “in communication with”, etc. areused herein or in the claims that follow, these terms should beinterpreted broadly. For example, the phrase “coupled to” may refer tobeing communicatively, electrically and/or operatively coupled asappropriate for the context in which the phrase is used.

Those skilled in the art will recognize that it is common within the artto describe devices and/or processes in the fashion set forth herein,and thereafter use engineering practices to integrate such describeddevices and/or methods into data processing systems. That is, at least aportion of the devices and/or methods described herein can be integratedinto a data processing system via a reasonable amount ofexperimentation. Those having skill in the art will recognize that atypical data processing system generally includes one or more of asystem unit housing, a video display device, a memory such as volatileand non-volatile memory, processors such as microprocessors and digitalsignal processors, computational entities such as operating systems,drivers, graphical user interfaces, and applications programs, one ormore interaction devices, such as a touch pad or screen, and/or controlsystems including feedback loops and control motors (e.g., feedback forsensing position and/or velocity; control motors for moving and/oradjusting components and/or quantities). A typical data processingsystem may be implemented utilizing any suitable commercially availablecomponent, such as those typically found in data computing/communicationand/or network computing/communication systems.

The herein described subject matter sometimes illustrates differentcomponents or elements contained within, or connected with, differentother components or elements. It is to be understood that such depictedarchitectures are merely examples, and that in fact many otherarchitectures can be implemented which achieve the same functionality.In a conceptual sense, any arrangement of components to achieve the samefunctionality is effectively “associated” such that the desiredfunctionality is achieved. Hence, any two components herein combined toachieve a particular functionality can be seen as “associated with” eachother such that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected”, or“operably coupled”, to each other to achieve the desired functionality,and any two components capable of being so associated can also be viewedas being “operably couplable”, to each other to achieve the desiredfunctionality. Specific examples of operably couplable include but arenot limited to physically mateable and/or physically interactingcomponents and/or wirelessly interactable and/or wirelessly interactingcomponents and/or logically interacting and/or logically interactablecomponents.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

It will be understood by those within the art that, in general, termsused herein, and especially in the appended claims (e.g., bodies of theappended claims) are generally intended as “open” terms (e.g., the term“including” should be interpreted as “including but not limited to,” theterm “having” should be interpreted as “having at least,” the term“includes” should be interpreted as “includes but is not limited to,”etc.). It will be further understood by those within the art that if aspecific number of an introduced claim recitation is intended, such anintent will be explicitly recited in the claim, and in the absence ofsuch recitation no such intent is present. For example, as an aid tounderstanding, the following appended claims may contain usage of theintroductory phrases “at least one” and “one or more” to introduce claimrecitations. However, the use of such phrases should not be construed toimply that the introduction of a claim recitation by the indefinitearticles “a” or “an” limits any particular claim containing suchintroduced claim recitation to inventions containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should typically be interpreted to mean “atleast one” or “one or more”); the same holds true for the use ofdefinite articles used to introduce claim recitations. In addition, evenif a specific number of an introduced claim recitation is explicitlyrecited, those skilled in the art will recognize that such recitationshould typically be interpreted to mean at least the recited number(e.g., the bare recitation of “two recitations,” without othermodifiers, typically means at least two recitations, or two or morerecitations). Furthermore, in those instances where a conventionanalogous to “at least one of A, B, and C, etc.” is used, in generalsuch a construction is intended in the sense one having skill in the artwould understand the convention (e.g., “a system having at least one ofA, B, and C” would include but not be limited to systems that have Aalone, B alone, C alone, A and B together, A and C together, B and Ctogether, and/or A, B, and C together, etc.). In those instances where aconvention analogous to “at least one of A, B, or C, etc.” is used, ingeneral such a construction is intended in the sense one having skill inthe art would understand the convention (e.g., “a system having at leastone of A, B, or C” would include but not be limited to systems that haveA alone, B alone, C alone, A and B together, A and C together, B and Ctogether, and/or A, B, and C together, etc.). It will be furtherunderstood by those within the art that virtually any disjunctive wordand/or phrase presenting two or more alternative terms, whether in thedescription, claims, or drawings, should be understood to contemplatethe possibilities of including one of the terms, either of the terms, orboth terms. For example, the phrase “A or B” will be understood toinclude the possibilities of “A” or “B” or “A and B.”

1-20. (canceled)
 21. A system to provide a per-lane route for a vehicleto travel, the system comprising: control logic; a memory coupled to thecontrol logic and operable to store instructions executable by thecontrol logic; and an input/output (I/O) interface operatively coupledto the memory and to the control logic, wherein the control logic isoperable to execute the instructions to: respond to a query via the I/Ointerface, wherein the query includes: a start location and an endlocation for the vehicle to travel between; and an indication of atleast one of: a number of occupants of the vehicle and a vehicle type ofthe vehicle; and generate a traffic flow model based on the query andbased on traffic lane characteristics for one or more road segments,wherein the road segments include one or more locations, wherein thetraffic lane characteristics for the one or more road segments include:substantially fixed information that includes an indication of at leastone of: a number of traffic lanes for a given direction of vehicularmovement, or traffic lane restriction information for one or moretraffic lanes; and traffic characteristic information that changes overtime, wherein the traffic flow model provides traffic flow informationbetween the start location and the end location, wherein the trafficflow information enables determination of the per-lane route for thevehicle to travel, and wherein the per-lane route is visually or audiblyoutput at the vehicle as at least one of audio or graphics, and whereinthe outputted per-lane route enables a driver of the vehicle to changefrom one of the one or more traffic lanes to another of the one or moretraffic lanes as the vehicle enters or exits at least one of the one ormore locations included within the one or more road segments.
 22. Thesystem of claim 21, wherein the control logic is operable to execute theinstructions to send the traffic flow information to the vehicle toenable a navigation system of the vehicle to determine the per-laneroute from the traffic flow information and to visually or audiblyoutput the per-lane route at the vehicle.
 23. The system of claim 21,wherein the control logic is operable to execute the instructions tosend the traffic flow information to a navigation service physicallyremote from the control logic to enable the navigation service todetermine the per-lane route from the traffic flow information, andwherein the navigation service provides the per-lane route to thevehicle to be visually or audibly output at the vehicle.
 24. The systemof claim 21, wherein the control logic is operable to execute theinstructions to send, via the I/O interface, the traffic flowinformation to a navigation service physically remote from the controllogic, wherein the navigation service sends the traffic flow informationto a navigation system of the vehicle to enable the navigation system todetermine the per-lane route from the traffic flow information and tovisually or audibly output the per-lane route at the vehicle.
 25. Thesystem of claim 21, wherein the traffic characteristic information thatchanges over time includes at least one of: road sensor data, trafficcamera data, an accident report, a construction report, or traffic flowdata reported from another vehicle.
 26. A system to provide a per-laneroute for a vehicle to travel, the system comprising: control logic; amemory coupled to the control logic and operable to store content orinstructions executable by the control logic; and an input/output (I/O)interface operatively coupled to the memory and to the control logic,wherein the control logic is operable to execute the instructions to:provide a query a traffic database for a route for the vehicle between astart location and an end location of the route, wherein: the queryincludes a number of occupants of the vehicle and a vehicle type of thevehicle, the traffic database includes traffic lane characteristics forthe route between the start location and the end location, and trafficflow information, responsive to the query to the traffic database, isprovided from a traffic flow model that is based on the traffic lanecharacteristics; and obtain, based on the traffic flow information, theper-lane route for the vehicle to travel, and wherein the I/O interfaceis operable to visually or audibly output the per-lane route for thevehicle to travel.
 27. The system of claim 26, wherein to obtain theper-lane route, the control logic is operable to execute theinstructions to: obtain, from a traffic database server that providesthe traffic database, the traffic flow information, wherein the trafficdatabase server generates the traffic flow model that provides thetraffic flow information; and generate the per-lane route based on thetraffic flow information obtained from the traffic database server. 28.The system of claim 26, wherein to obtain the per-lane route, thecontrol logic is operable to execute the instructions to: obtain, fromthe traffic database, the traffic lane characteristics; generate thetraffic flow model from the traffic lane characteristics; and generatethe per-lane route based on the traffic flow information obtained fromthe traffic flow model.
 29. The system of claim 26, wherein to obtainthe per-lane route, the control logic is operable to execute theinstructions to: obtain, from a navigation service physically remotefrom the control logic and in communication with the traffic database,the traffic flow information; and generate the per-lane route based onthe traffic flow information obtained from the navigation service. 30.The system of claim 26, wherein to obtain the per-lane route, thecontrol logic is operable to execute the instructions to: obtain, from anavigation service physically remote from the control logic and incommunication with a traffic database server that provides the trafficdatabase, the per-lane route, wherein the navigation service determinesthe per-lane route from the traffic flow information, and wherein thetraffic flow model that provides the traffic flow information to thenavigation service is generated by the traffic database server or by thenavigation service.
 31. A method to provide a per-lane route for avehicle to travel, the method comprising: receiving, at a trafficdatabase, a query from the vehicle to travel between a start locationand an end location of a route, wherein: the query includes a number ofoccupants of the vehicle and a vehicle type of the vehicle, and thetraffic database includes traffic lane characteristics for the routebetween the start location and the end location; and generating atraffic flow model based on the query and based on traffic lanecharacteristics for one or more road segments, wherein the road segmentsinclude one or more locations, wherein the traffic flow model providestraffic flow information for the route between the start location andthe end location, wherein the traffic flow information enables adetermination of the per-lane route for the vehicle to travel, andwherein the per-lane route is visually or audibly output at the vehicleto enable a driver of the vehicle to change from one of one or moretraffic lanes to another of the one or more traffic lanes as the vehicleenters or exits at least one of the one or more locations includedwithin the one or more road segments.
 32. The method of claim 31,further comprising sending the traffic flow information to the vehicleto enable a navigation system of the vehicle to determine the per-laneroute from the traffic flow information and to visually or audiblyoutput the per-lane route at the vehicle.
 33. The method of claim 31,further comprising sending the traffic flow information to a navigationservice physically remote from the traffic database to enable thenavigation service to determine the per-lane route from the traffic flowinformation, and wherein the navigation service provides the per-laneroute to the vehicle to enable the per-lane route to be visually oraudibly output at the vehicle.
 34. The method of claim 31, furthercomprising sending the traffic flow information to a navigation servicephysically remote from the traffic database, wherein the navigationservice sends the traffic flow information to a navigation system of thevehicle to enable the navigation system to determine the per-lane routefrom the traffic flow information and to visually or audibly output theper-lane route at the vehicle.
 35. The method of claim 31, whereingenerating the traffic flow model based on the traffic lanecharacteristics includes generating the traffic flow model based ontraffic characteristic information that changes over time and based onsubstantially fixed information that includes an indication of at leastone of: a number of traffic lanes for a given direction of vehicularmovement, or traffic lane restriction information for one or moretraffic lanes.
 36. The method of claim 35, wherein generating thetraffic flow model based on traffic characteristic information thatchanges over time includes generating the traffic flow model from atleast one of road sensor data, traffic camera data, an accident report,a construction report, or traffic flow data reported from anothervehicle.
 37. The method of claim 31, wherein the number of occupantscorresponds to a high occupancy vehicle (HOV) lane restriction of thetraffic lane characteristics.